28/5/2021

Spiegazione ambito di studio

Questa presentazione spiegherà in modo approfondito l’analisi eseguita su due dataset, richiesta per l’esame di Scienza dei Dati.

  • L’ambito scelto è stato quello dei videogame, nello specifico del videogioco “League of Legends”.
  • League of Legends è un videogioco di tipo MOBA (Multiplayer Online Battle Arena) per PC, in cui 2 squadre composte da 5 giocatori ciascuna scelgono dei personaggi (detti anche campioni) e si scontrano, assumendo solitamente 5 ruoli diversi assegnati a 3 corsie specifiche nella mappa, per raggiungere l’obiettivo di distruggere la struttura principale avversaria.
  • La scelta di questo preciso ambito è stata guidata dalla curiosità: essendo io un giocatore di questo videogioco da molti anni, sembrava interessante l’idea di poter analizzare dei dati che potevo comprendere in modo approfondito piuttosto che scegliere qualcosa in cui non ero esperto.

I dataset scelti

I dataset analizzati sono stati scelti e scaricati dal sito “Kaggle.com”, consigliato durante il corso: online sono riportati come League of Legends High Elo Patch 10.16 e League of Legends(LOL) CHAMPION and ITEM ed hanno rispettivamente le seguenti caratteristiche (per migliorarne la visualizzazione nella presentazione i dati sono stati ridotti):

    1. Il primo dataset è composto da 609 colonne e 14109 righe, e racchiude tutti i dati raccolti dalle partite delle leghe più alte di gioco (comparabili alla serie A e B del calcio) nel periodo dell’agosto 2020
Parte del dataset partite
ï..gameId t1p1_role t1p1_champLevel t1p1_damageDealtToObjectives t1p1_deaths average_lp
4792636729 SUPPORT 15 41247 7 3207.6
4759544752 SUPPORT 12 34042 0 2720.5
4783546701 SUPPORT 14 35491 4 2823.3
4749656373 SUPPORT 18 39945 3 2423.5
    1. Il secondo dataset, più ridotto, è composto da 41 colonne e 150 righe: questo è l’insieme delle informazioni e statistiche dei personaggi giocabili (Questo dataset è stato aggiornato con due personaggi mancanti, per essere al passo con il precedentemente)
Parte del dataset campioni
key name title tags stats.hp
201 Braum the Heart of the Freljord [‘Support’, ‘Tank’] 540.0
164 Camille the Steel Shadow [‘Fighter’, ‘Tank’] 575.6
202 Jhin the Virtuoso [‘Marksman’, ‘Mage’] 556.0
222 Jinx the Loose Cannon [‘Marksman’] 581.0
203 Kindred The Eternal Hunters [‘Marksman’] 540.0

Prima parte

Analisi Generale

La prima parte dell’analisi verte principalmente sulla visualizzazione di dati prettamente lagati all’ ambiente del gioco

  • Le prime funzioni di prova, ad esempio, sono state create per ottenere l’ID specifico di una partita nella quale è stato scelto un determinato campione conoscendone soltanto il nome:
Nomechamp = readline();
loldataset2 %>% filter(str_detect(name, Nomechamp))%>% 
                select(key)
  • Questa funzione cerca una stringa inserita dall’utente nella colonna “name” nel dataset dei campioni giocabili: ne restituisce l’id ,in questo caso, ma può essere anche utile per risalire a qualunque dato di un determinato personaggio
idchamp = readline();
idchamp = as.integer(idchamp);
loldataset %>% filter(t1p1_champId == idchamp | t1p2_champId == idchamp | t1p3_champId == idchamp | t1p4_champId == idchamp | t1p5_champId == idchamp | t2p1_champId == idchamp | t2p2_champId == idchamp | t2p3_champId == idchamp | t2p4_champId == idchamp | t2p5_champId == idchamp)%>%
               select(1)
  • Una volta scoperto l’identificativo si può interrogare il dataset delle partite, inserendo l’id come argomento, per verificare in quali sia stato giocato il campione interessato.

Prima parte: Analisi Generale /2

Sono state analizzate, inoltre, le frequenze di utilizzo di certi personaggi, divisi per ruolo: Supporto, Tiratore, Toplaner, Jungler e Midlaner; i grafici risultanti sono degli istogrammi del tipo N Utilizzi / Difficoltà ed il colore rappresenta la tipologia specifica del personaggio (se ne sono presenti due, si interpreta come tipologia principale e secondaria).

  • Dal primo grafico, riferito al ruolo Supporto, anche una persona non esperta può subito notare che c’è una differenza sostanziale tra il ruolo “generale” del grafico ed i ruoli specifici dei campioni: anche se la maggior parte, infatti, riporta la dicitura “Support” in alcuni non è presente: ciò potrebbe star a significare che i giocatori, essendo a livelli molto avanzati, hanno una conoscenza tale del gioco da permettergli di utilizzare campioni anche in ambiti diversi da quello pensato originalmente dai creatori; per averne conferma però è necessario analizzare anche gli altri ruoli

Prima parte: Analisi Generale /3

Il secondo grafico è basato sul ruolo del tiratore, chiamato anche ADC: lavora a stretto contatto con il ruolo supporto nella corsia inferiore per la maggior parte della partita

  • Anche in questo caso notiamo due personaggi che, anche se con un numero di utilizzi nettamente inferiore, non presentano il tag del ruolo specifico analizzato: ciò è ancora più peculiare, in quanto il ruolo del tiratore è molto legato alle specifiche instrinseche di un campione.
  • E’ possibile anche osservare un maggior numero di utilizzi nelle difficoltà medio-alte, in questo e nel precedente grafico, con alcune eccezioni: è più probabile però che si tratti di una casualità (Viene fatto un’aggiornamento di bilanciamento ogni 2 settimane, cosa che potrebbe cambiare radicalmente il rateo di utilizzo di un determinato personaggio).
  • Il campione più utilizzato in questo caso è anche quello che può eseguire attacchi da più lontano, rendendolo evidentemente una buona scelta in questo ruolo; inoltre proprio questo personaggio era stato potenziato due settimane prima per renderlo adatto al gioco professionistico (Una possibile spiegazione per l’altissimo numero di utilizzi)
loldataset2 %>% 
  select(id, stats.attackrange) %>%
  top_n(1)
Campione che può attaccare da più lontano
id stats.attackrange
Caitlyn 650

Prima parte: Analisi Generale /4

Il terzo grafico analizza il ruolo del Midlaner, che prende il nome dalla sua posizione nella corsia centrale. Solitamente occupato da personaggi con danno elevato ma non molto resistenti

  • Questo grafico è leggermente diverso dai precedenti: la difficoltà minima del range analizzato è di 5, anche se il livello medio si attesta sempre dal 7 all’8; possibile spiegazione è che canonicamente questo sia considerato il secondo ruolo più difficile.
  • Il campione più utilizzato, Yone, era appena stato rilasciato: solitamente i nuovi campioni vengono rilasciati con statistiche non molto bilanciate; considerando anche la velocità con cui i professionisti si allenano e imparano nuove meccaniche di gioco è possibile che questo abbia inciso sui dati visualizzati.

Prima parte: Analisi Generale /5

Il prossimo ruolo preso in analisi è il Jungler: è il ruolo più versatile, stazionato in tra le corsie, che ha come compito aiutare i propri compagni di squadra in difficoltà. Quasi ogni campione può giocare in questo ruolo, ed è quindi più difficile trovare una correlazione significativa tra grafico e dati

  • L’unico dato interessante sono i campioni più utilizzati: “Nidalee” così come “Lee Sin” sono personaggi che sono stati costantemente utilizzati non solo nella stagione 10 (quella analizzata) ma anche nelle precedenti (essendo anche stati introdotti da molti anni)
  • Ciò significaq che questi personaggi in particolare non sono molto toccati dagli aggiornamenti di bilanciamento che vengono rilasciati e perciò restituiscono dati più “veritieri”

Prima parte: Analisi Generale /6

L’ultimo grafico è basato sui dati dei campioni in ruolo Toplane, stazionati in corsia superiore: solitamente i personaggi sono di tipo “Combattenti” o “Tank”

  • Prevedibilmente, i campioni più utilizzati sono di tipo “Tank” o “Combattente”: la maggior frequenza si ha con personaggi che possiedono entrambe le caratteristiche (Anche se è evidentemente preferita la coppia “Combattente,Tank” piuttosto che “Tank,Combattente”)

Grafico complessivo utilizzi

Per visualizzare al meglio il rateo di utilizzi dei campioni, tralasciando ruoli intrinsechi e della partita, osserviamo questo grafico:

  • Oltre ad una visione d’insieme migliore, è possibile anche notare che una buona parte dei campioni appartiene al ruolo tiratore (compresi i 4 con utilizzo più frequente): forse è riconducibile al problema del bilanciamento, ma tenendo a mente ciò che è risultato dall’analisi del ruolo eseguita precedentemente, si potrebbe anche ipotizzare che sia dovuto ai requisiti che i personaggi devono raggiungere per essere considerati utilizzabili al meglio in questo ruolo (alti danni fisici, alto valore di distanza d’attacco).

Considerazioni sui dati

Dall’analisi compiuta fin’ora è possibile affermare alcuni punti:

  • La difficoltà non sembra essere incidente nell’utilizzo di un certo campione: nonostante ci sia un’alta concentrazione di dati nel range 5-7 è anche vero che la maggior parte dei campioni appartiene a questa fascia; inoltre a livello alto o professionistico la difficoltà dei campioni non è rilevante.
  • Sono presenti molti personaggi che non apparterrebbero alla posizione in cui sono utilizzati: anche questo potrebbe essere ricondotto all’alta esperienza da parte dei giocatori stessi, che possono permettersi di fare abbinamenti inusuali in squadra e raggiungere comunque la vittoria.
  • In alcuni casi, nelle settimane precedenti alle partite analizzate i personaggi erano stati modificati in qualche modo (potenziati o depotenziati): ad esempio, “Caitlyn” il secondo tiratore più utilizzato, ma anche “Lucian” o “Akali”. Per essere sicuri che tipo di correlazione ci sia, quanto i cambiamenti incidano e a che livello (amatoriale o professionistico) sarebbe utile raccogliere i dati dopo un certo aggiornamento e confrontarli con quelli raccolti ed analizzati in precedenza (Se ne discuterà maggiormente in seguito)

Seconda parte: la psicologia dei colori nel mondo dei videogame

Introduzione

L’idea di questa seconda parte è nata dal ricordo di alcuni video di youtube ed articoli che visionai anni fa, i quali affermavano che diversi colori potevano influenzare, in parte, le scelte ed il comportamento umano: nello specifico dei videogiochi le squadre rosse, colore solitamente associato all’aggressività, ha prodotto risultati migliori negli FPS (first person shooters) rispetto alle squadre di colore blu.

  • Al contrario, su League of Legends, dove è necessaria una grande componente di pianificazione per prevalere sugli avversari, si è rilevato che la squadra di colore blu ha un rateo di vittoria superiore alla squadra rossa.
  • Ad esempio, nell’“NA LCS”, il torneo professionale del gioco in Nord America, durante i playoff estivi del 2014 è stato registrato un dato curioso: l’80% delle partite sono state vinte dalla squadra blu; inoltre la squadra blu, in generale, ha un costante vantaggio di una percentuale che va dallo 0,5 all 1,5% in tutte le regioni di gioco del mondo (Soprattutto nelle leghe di abilità più basse)
  • E’ quindi obiettivo di questa parte di analisi il confronto tra le due squadre (rossa e blu) per verificare o sfatare queste teorie: la squadra rossa dovrebbe essere più aggressiva (più uccisioni) mentre la squadra blu dovrebbe pianificare la partita in modo più cauto e consistente (più lavoro di squadra, più scelte che portino alla vittoria “indirettamente”) e vincere più partite

Confronto tra Squadra rossa e squadra Blu

Guadagno oro

Il primo dato che visualizzeremo è il guadagno d’oro: con queste monete è possibile potenziare il proprio personaggio ed è possibile guadagnarlo eseguendo uccisioni, attaccando e distruggendo strutture o uccidendo creature neutrali (minion della corsia o mostri della giungla)

I dati utilizzati nel grafico sono l’oro medio guadagnato dalla squadra al minuto / la media dei league points della partita (I league points sono un punteggio che misura l’abilità dei giocatori e che verrà usato stabilmente come dato nei grafici).

  • Una breve considerazione sulla struttura dei grafici: la parte di colore più scuro, attorno alla linea, è l’intervallo di confidenza: in quell’area è possibile trovare i dati che vanno poi a formare la linea media; l’intervallo sarà più prominente sulla sinistra del grafico in parte perchè il maggior numero delle partite ha un valore di League Point medio molto alto ma anche perchè i professionisti sanno quando è possibile recuperare una partita o meno: così facendo si creano divari importanti sui dati poco prima che una squadra decida di arrendersi.
  • Il grafico blu, pur avendo una decrescita iniziale, raggiunge un livello leggermente più alto del grafico rosso considerando l’intervallo di confidenza; potrebbe però essere dovuto ad ogni metodo di guadagno oro precedentemente illustrato.
  • Questi grafici risultano quindi non significativi in questo momento e verranno ripresi in seguito.

Confronto tra Squadra rossa e squadra Blu

Uccisioni

Le uccisioni si compiono quando dai il colpo di grazia ad un campione nemico: ciò fa guadagnare oro

  • Pur con un vantaggio iniziale la squadra blu si mantiene inferiore alla squadra rossa per quasi tutto il grafico, soprattutto nella parte più a destra (sia per quanto riguarda la linea media sia per l’intervallo di confidenza)
  • Quindi, basandosi anche sui dati precedentemente analizzati, possiamo dedurre che la squadra blu guadagni il suo vantaggio d’oro con Assist alle uccisioni, minion uccisi o strutture distrutte.

Confronto tra Squadra rossa e squadra Blu

Assist

Gli Assist vengono assegnati ad ogni campione che abbia partecipato, con danni o con aiuti ai propri alleati, nell’uccisione di un campione avversario. Gli aiuti spaziano da abilità di cure o scudi utilizzate sugli alleati a impedimenti ai movimenti degli avversari.

  • Questi grafici sono particolari dato che, secondo la teoria, la squadra blu dovrebbe avere un numero di Assist nettamente superiore alla squadra rossa eppure non è così per tutto il grafico: potrebbe essere sintomo del maggior numero di uccisioni della squadra rossa (i due grafici sono molto simili)
  • Perciò il vantaggio nel guadagno d’oro della squadra blu visto nei primi grafici deve per forza provenire da torri o minion che sono proprio gli obiettivi strategici della teoria

Confronto tra Squadra rossa e squadra Blu

Punteggio Visione

Il punteggio visione è un dato molto particolare che necessita una premessa: la mappa di gioco, per la maggior parte, è oscurata e si illumina solamente quando campioni, minion o strutture alleate sono nelle vicinanze: è possibile quindi utilizzare alcune abilità dei personaggi ma soprattutto acquistare in cambio di oro dei dispositivi (Trinket) che possono essere piazzati o utilizzati per rilevare la zona circostante (permettendo di prevedere imboscate o controllare punti strategici).

Il punteggio visione è quindi assegnato in base non solo a quanti di questi Trinket vengono piazzati, ma anche quanto essi sono stati efficaci e quanti di quelli nemici ne sono stati trovati e distrutti (In questo link https://leagueoflegends.fandom.com/wiki/Vision_score è possibile trovare una spiegazione dettagliata)

>- Il grafico blu è costantemente superiore al grafico rosso; la zona inferiore dell’intervallo di confidenza a destra è inoltre leggermente ridotto, il che significa che le peggiori performance della squadra blu in questo ambito sono superiori alle peggiori della rossa.

Confronto tra Squadra rossa e squadra Blu

Danni alle torri

Le torri sono le strutture posizionate nelle corsie che impediscono ai campioni di raggiungere la base avversaria e vincere la partita; conferiscono dell’oro se distrutte e sono obiettivi strategici

  • Questo grafico potrebbe essere considerato non utile alla dimostrazione della tesi: secondo la teoria la squadra blu ottiene un vantaggio strategico concentrandosi sulle strutture temporalmente prima degli avversari e più si va avanti con la partita più è però facile distruggere le strutture a causa dell’aumento dei danni.
  • Questo potrebbe causare una parità di dati, anche se in realtà c’è una grande differenza di vantaggio sostanziale ottenuto

Come precedentemente detto, il grafico non porta quasi nessuna informazione utilizzabile: se fosse possibile estrapolare i danni eseguiti in un iniziale periodo di tempo i dati sarebbero sicuramente più significativi.

Confronto tra Squadra rossa e squadra Blu

Percentuale vittorie

L’ultimo grafico rappresenta il numero di vittorie della squadra rossa sul totale delle partite analizzate

  • Ne risulta una quasi parità, con la differenza percentuale per i blu che tocca appena l’1.3% (Il totale delle partite è 14110)
  • Potrebbe sembrare un dato irrilevante, ma a livelli di abilità così alti ed analizzando un così alto numero di partite le percentuali dovrebbero essere molto più vicine.

Considerazioni sui dati

Le previsioni sui dati, ovvero l’aggressività superiore della squadra rossa e la pianificazione e strategia superiore della squadra blu si sono rivelate in parte corrette e la percentuale delle vittorie è in linea con il range di dati.

  • La squadra blu ha avuto un vantaggio nel guadagno di oro e nel punteggio visione della mappa
  • La squadra rossa, invece, è stata leggermente superiore nel numero di uccisioni e, in parte, di assist: i grafici sono quasi sovrapponibili, il che fa pensare che l’alto numero di League Points, che si traduce in alta abilità dei giocatori, porti a giocare più di squadra nonostante la presunta influenza psicologica.

Conclusioni sulla teoria del colore

Come già detto stati condotti molti esperimenti su questo argomento, in ambiente sociale o sportivo, da cui poi è scaturita la teoria che potesse essere legata anche al mondo dei videogiochi.

Secondo le fonti citate all’inizio della seconda parte ciò è più di una teoria ma i miei personali risultati non mi permettono di dare una risposta definitiva.

Anche se in qualche modo ci sono correlazioni che rispecchiano la teoria iniziale per confermare o sfatare il tutto ci vorrebbero molti più dati e si dovrebbe tenere conto anche delle leghe di abilità più basse (di cui fanno parte l’85% dei giocatori) che potrebbero essere influenzati in maniera più incisiva.

Miglioramenti

Ci sono alcuni miglioramenti che potrebbero essere compiuti su questa analisi nel suo complesso: come accennato nelle conclusioni, credo che i dati siano estremamente limitati per il numero che per il periodo: sarebbe utile poter combinare dati prima e dopo un aggiornamento da ogni lega di abilità.

  • Facendo un po’ di ricerca ho scoperto che Riot Games, la casa di produzione del gioco, ha rilasciato un sito in cui è possibile ottenere una API (Application Programming Interface), elemento software che permette, tra le altre cose, di creare dei dataset specifici
  • L’obiettivo futuro è quindi, dato che personalmente mi è interessato molto l’ambito di lavoro, imparare ad utilizzare il software API per raccogliere un alto numero di dati spaziando anche temporalmente, per poi analizzarli con lo stesso codice di questo progetto; sarebbe infine anche interessante analizzare le mie personali partite, dato che non vanto un’abilità così alta, per verificare se sono stato inconsciamente influenzato da questo fenomeno!
  • Ho incontrato anche numerosi problemi nell’implementazione di funzioni provenienti da più librerie mentre plottavo un grafico: ad esempio, non è possibile inserire immagini se il grafico è interagibile tramite plotly; il messaggio d’errore suggeriva di fare dei commit al repository della libreria con suggerimenti per l’implementazione.
  • Infine è giusto far notare che non sono riuscito a correggere un’errore di visualizzazione dell’ultimo grafico che, pur risultando corretto nel codice, non viene visualizzato correttamente in questa specifica presentazione (facendo il Knit) per motivi ignoti.

Fonti

PAGINA DEL CORSO

http://users.dimi.uniud.it/~massimo.franceschet/ds/plugandplay/ds.html

DATASET

https://www.kaggle.com/fernandorubiogarcia/league-of-legends-high-elo-patch-1016 https://www.kaggle.com/gyejr95/league-of-legendslol-champion-and-item-2020

RMARKDOWN

https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf

MISCELLANEOUS

https://stackoverflow.com/

ISPIRAZIONE E INFORMAZIONI TEORIA DEL COLORE

https://dotesports.com/general/news/league-of-legends-red-blue-statistics-win-rate-252 https://www.psychologyofgames.com/2015/02/red-vs-blue-which-should-you-choose https://www.youtube.com/watch?v=X31K6jammH0&ab_channel=TheGameTheorists https://pubmed.ncbi.nlm.nih.gov/18537513/

PAGINE DEI 2 BILANCIAMENTI PRECEDENTI AI DATI RACCOLTI

https://euw.leagueoflegends.com/it-it/news/game-updates/patch-10-16-notes https://euw.leagueoflegends.com/it-it/news/game-updates/patch-10-15-notes